In a data communications network it is sometimes desirable to divert data to a destination other than the destination addressed by an initiator. One common example is that of Internet web page caching, in which a request for web content may be directed to a geographically local server containing the same content rather than to the server addressed by the initiator. This is intended to reduce the communication fees, time and network resource use.
Another example is that of peer-to-peer optimization, in which a request for a particular file is directed to a geographically local peer known to have the file. This optimization is intended to reduce the communication fees. For example, the redirection of requests to reduce communication fees in a Peer to Peer network (P2P) is disclosed in U.S. Pat. No. 7,571,251.
In conventional solutions for diverting data flows, the identification/determination of what data flows or network traffic to divert has generally been based on the designated port number of the data flow. The port number is found in Transmission Communication Protocol (TCP) and User Datagram Protocol (UDP) packets. For example, Internet web caching has typically been done simply by forwarding all traffic destined for TCP port 80 to the appropriate cache. Since all packets including the very first are diverted, there is never any contact with the intended destination. However, there may also be situations where it is necessary to divert data flows or traffic even after initial contact with an intended destination.
One further example of diverting traffic, relates to systems in which Internet Service Providers (ISP) delivering internet access may selectively pass traffic through specialized devices for the ISP's subscribers or customers, which may provide services, for example, firewall services, parental controls, or the like. The traffic path passing through these services is frequently referred to as a “service chain”. The ability to selectively provide these services by varying the service chains allows ISPs to differentiate themselves and/or receive additional revenue.
It is, therefore, desirable to provide an improved system and method for diverting and routing established communication sessions.